热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

git入门资料整理

这整个repository是关于分布式版本管理工具Git及托管商github的使用,大部分都是网友写的内容,在这里只是做一个资源的汇总和合理的安排,希望能成为最好的学习git的资源,从开

这整个 repository 是关于分布式版本管理工具 Git 及托管商github 的使用,大部分都是网友写的内容,在这里只是做一个资源的汇总和合理的安排,希望能成为最好的学习 git 的资源,从开始入门使用,到慢慢的提高,再到理解各种原理,希望能够达成这个目标。

网络上面已经有了那么多的关于git的文章,为什么还要弄一个repo来专门记录?网上的文章都是片面的,稍微全点的讲解的不够全面、深入,没能满足我对于文章的想象,所以决定自己来写。

怎么写? 每个介绍的后面都应该有一些实践练习,有原理的部分,也应该有实践,手把手教学,这样子才能适合初学来快速上手学习。

如果你要有一些资源,希望和我一起,把这个搞起来,很简单, fork-修改-pull request 就ok。

入门介绍资料

  • 为什么开始使用Git版本管理,Git VS SVN 有哪些区别?
  • 开篇:一篇适合入门学习git的资料汇总 本人的拙笔,欢迎吐槽!
  • github-cheat-sheet 关于使用 git 和 github 的一些技巧汇总,中文版在此GitHub秘籍
  • Git for beginners: The definitive practical guide - from stackoverflow.comIt's so useful to a beginner ,just open the url , read and practice .

git 客户端

mac和linux系统推荐使用终端即可,git一开始的命令的确很多,别无它法,熟能生巧,多练习即可能够掌握日常使用的一些名利,再配合 常用命令的alias 或者强大的zsh 都能显著的提升效率,当然如果非得寻找图形化客户端,也不是没有;windows下还是尽快熟悉客户端的使用吧,因为win下面的bash太难用了:

  • GUI Clients 官方推荐图形客户端,罗列的包括了Mac、windows、linux下的客户端,免费及付费的都有,你可以在这里面挑选一个就ok。
  • git for windows 针对window系统发布的客户端,集成了shell窗口,方便在win下面使用命令操作。
  • TortoiseGit - The coolest Inte**ce to Git Version Control 在window下使用git,那就不得不提“乌龟”,安装了tortoise后,右键图形化操作根本分辨不出来哪是git,哪是SVN,很方便使用SVN的用户过度过来。
  • Tower2 号称最好的git客户端,只有Mac版本,收费,集成github、gitlab、Xcode等服务。
  • SourceTree 免费,功能齐全,Mac+window版本,集成github等服务。

git branch

  • A successful Git branching model 介绍日常推荐的分支开发模型,基于此模型可以通过这个小游戏来进行学习 Learn Git Branch
  • git工作流指南完整的对比目前使用的集中式(svn)工作流、功能分支工作流、gitflow工作流、forking工作流、pull request 等几种不同的模式,通俗易懂,强烈推荐看一看,如果觉的排版不好,请查看原分页文章 git-workflow-translations
  • 熟悉的工作流后,你是否也想要在github上与他人一起协同工作?那么问题来了,Github全程指南-如何高效使用?

git expert

  • 项目依赖其他项目,比如公共css、dll等等,强大的git-submodule 优雅的解决这类问题。理解阅读 Git Tools - Submodules ,备忘或者查看命令阅读 Git Submodule Tutorial 或者 Git Submodule使用完整教程

git 书籍

  • Pro Git 作者Scott Chacon是github的员工,git的布道者,这本书被誉为git学习圣经,中间有好多插图描述的浅显易懂,挺适合详细学习下的,最新英文第二版《pro git (Editon 2) 》;
  • git-internals-pdf 老外写的,很给力,蒋鑫推荐,从目录上面包括安装使用以及设计原理都有讲解,有机会看看。pdf电子版本直接下载地址git-internals.pdf
  • Git Community Book 汇聚了Git社区的很多精华, 并对git的对象模型原理等做了解释,可以深入的了解下git原理。pdf电子版本直接下载地址 Git Community Book.pdf

git 效率提升

  • git flow 工具
  • git flow 中文备忘清单
  • 一个很有意思的学习 git 的小游戏 http://pcottle.github.io/learnGitBranching/
  • git completion 终端 git 命令的 Tab 键补全功能,比如打开终端,输入 git che ,按 Tab 键,则会出现 check-attr\check-ignore\checkout 等等的选项,支持bash、zsh等shell,使用方法(以bash shell为例):下载链接中相应的版本到用户目录下,修改 ~/.bashrc 文件 ,加入 source ~/git-completion.bash ,使得每次打开终端时都执行一次 git-completion.bash 脚本,来完成git 命令的 Tab 补全。或者采用这种方法 Quick Tip: Autocomplete Git Commands and Branch Names in Bash
  • .gitignore template 各种语言、各种编辑器的 .gitignore 文件模板,当你进行某些语言的开发时候,直接使用相应的模板即可,省去自己写的时间(还不全),当然你也可以去贡献自己的模板,不知道 .gitignore ? 简单讲就是不让git跟踪某些文件,详情阅读: http://git-scm.com/docs/gitignore PS:推荐使用.gitignore_global 文件进行全局过滤,比如mac下的 .DS_Store 文件,省去在每个repo下进行设置 .gitignore 文件了。全局模板参考:https://github.com/github/gitignore/tree/master/Global

推荐阅读
  • 双十一在家学用 Git
    对于所有的开发者来说,掌握一门代码版本控制系统都是必须的,无论是自己做项目,团队合作,工作中的合作,都离不开版 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • git向远程仓库提交遇到的各种坑
    **码云***gitinit初始化本地仓库gitinit*gitremoteaddorigingitgithub.com:xueqinngchennLocal-agent.git将 ... [详细]
  • 1找现有的镜像dockerhub上搜索到一个,其在github上公布了镜像构建的dockerfile,并且支持http和svn两种协议,就这个吧。https:github.come ... [详细]
  • 第九章  Spring Cloud Config
    9-1.SpringCloudConfig是什么?​ 在分布式的系统中,尤其是当我们的分布式项目越来越多,每个项目都有自己的配置文件&# ... [详细]
  • MariaDB 10 Slave Crash-Safe需转为GTID复制模式
    之前写了一篇《MySQL5.6crash-safereplication》,但在Mariadb10.0.X和10.1.X上不支持relay_log_info_repository ... [详细]
  • Day 5 20190120 老男孩python学习第5天 内容整理
    今天继续看MasteringPycharm的视频,一个半小时看git的教学视频:视频1小时44分钟,看了2个半小时以上https:www.youtube ... [详细]
  • c++ 崩溃 正则表达式regex_藏在正则表达式里的陷阱
    前几天线上一个项目监控信息突然报告异常,上到机器上后查看相关资源的使用情况,发现CPU利用率将近100%。通过Java自带的线程Dump工具࿰ ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • svnWebUI:一款现代化的svn服务端管理软件
    svnWebUI是一款图形化管理服务端Subversion的配置工具,适用于非程序员使用。它解决了svn用户和权限配置繁琐且不便的问题,提供了现代化的web界面,让svn服务端管理变得轻松。演示地址:http://svn.nginxwebui.cn:6060。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 初始化初始化本地空版本库,仓库,英文名repositorymkdirtest&&cdtestgitinit克隆项目到本地gitclone远程同 ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
  • Git GitHub多人协作
    在学校做一个小项目需要多人协作,就用到了gitHub,百度了一下多数写得乱七八糟或者支离破碎,于是总结了一下自己的步骤如下,第一次使用GitHUb,哪里不对望大神指出一.前期准备: ... [详细]
author-avatar
风云a899
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有